In a typical data communications system, data is sent from a transmitter to a receiver over a communications media such as a wire or fiber optic cable. In general, the data is encoded in a manner that facilitates effective transmission over the media. For example, data may be encoded as a stream of binary data (e.g., symbols) that is transmitted through the media as a signal.
In many applications, symbols in a data stream are corrupted as they pass through the media. For example, bandwidth limitations inherent in the media tend to create increasing levels of data distortion in a received signal. In particular, band-limited channels tend to spread transmitted pulses. If the width of the spread pulse exceeds a symbol duration, overlap with neighboring pulses may occur, degrading the performance of the receiver. This phenomenon is called inter-symbol interference (“ISI”). In general, as the data rate or the distance between the transmitter and receiver increases, the bandwidth limitations of the media tend to cause more inter-symbol interference.
To compensate for such problems in received signals, conventional high speed receivers may include filters and equalizers that may, for example, cancel some of the effects of inter-symbol interference or other distortion. Moreover, some applications use adaptive filters or equalizers that automatically adjust their characteristics in response to changes in the characteristics of the communications media. Typically, the adaptation process involves generating coefficients that control the characteristics of the filter or equalizer. To this end, a variety of algorithms have been developed for generating these coefficients.
The least mean square (“LMS”) algorithm is commonly used for optimizing coefficients for various applications such as a finite impulse response (“FIR”) filter and an adaptive equalizer such as decision feedback equalizers (“DFE”). In general, an LMS algorithm generates adaptive coefficients by modifying the current coefficients based on an algorithm that takes into account current and prior samples of the received data. For example, for a two tap DFE the LMS algorithm may be described by the following equations:g1(n)=g1(n−1)+μ*e*y1  EQUATION 1g2(n)=g2(n−1)+μ*e*y2  EQUATION 2
where g(n−1) represents the coefficient immediately preceding coefficient (n), μ is a scalar that relates to, for example, the gain of a feedback loop and the speed with which the loop converges, e is an error signal, and y1 and y2 are prior samples of the received data.
The LMS algorithm is not suitable for applications where prior samples of the received data are not available. For example, a conventional continuous time filter does not generate prior states of the data passing through the filter. Accordingly, a variety of techniques may need to be used to adjust characteristics of components in a receiver.
In view of the above, a need exists for improved techniques for reducing errors in data signals, in particular in applications where multiple techniques may be used to control processing of the data signals.